One of electrically rewritable nonvolatile semiconductor memory devices is a NAND flash memory. The NAND flash memory performs an erase operation for each block. In some systems, upon receiving a read or write operation request during the erase operation, the controller of the NAND flash memory issues an operation command for the read or write after the end of the erase operation. The erase operation usually takes longer than the read or write operation. For this reason, much time elapses from generation of the read or write operation request to execution of the operation.
In the erase operation, the data of memory cells in a block are erased first using the lowest initial voltage. After that, an erase verify operation is performed to confirm whether the memory cells are erased by verifying whether the threshold voltage of the memory cells reaches a predetermined threshold voltage. As a result, if the erase is insufficient (the verify has failed), a step-up voltage is added to the initial voltage to set a slightly higher erase voltage, and the erase operation is performed again. The series of operations is repetitively executed. The erase sequence ends when the erase verify has succeeded or reached a predetermined loop count.
Present memory cells may degrade at the time of the erase operation. To prevent this, the erase operation is executed using a relatively low initial erase voltage and a low step-up voltage. Hence, there is a tendency to increase the loop count and prolong the time required for the erase operation.